WordPress

推荐列表 站点导航

当前位置:首页 > 建站教程 > WordPress >

vue之封装多个组件调用同一接口的案例

来源:网络整理  作者:  发布时间:2020-12-18 12:34
这篇文章主要介绍了vue之封装多个组件调用同一接口的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随...

console.log(data); //

};  

4、如在多个页面都需要使用 nameList , 以在某一个页面使用为例,其余页面一样用法

</script>  
// getName.js

});

}

this.$store.dispatch('geName')

}

}

} else {

total: 0,

},

在页面使用:

}

<template>

method: 'get',

nameList() {

let opt = {

current: 1,

</template>

all = res.data.value || [];

},

return all;

<script>

}

return {

state.nameList= payload;

export default {

}

}

let opt = {

export function getAll(callback) {

actions: {

state[prop] = newState[prop]

mounted() {

pageSize: 2,

tipInfo(err.data.desc, '提示', false, 'warning');

使用promise进行封装

$http是在axios基础 进行封装的,是一个异步的方法,所以在组件中调用getAll()方法,拿到的是一个空数组

getNameList ({}).then(res => {

}

context.commit("setState", { isLoading: true })

},

}

使用回调函数进行封装

url: 'all/teacher',

});  

}

},

$http(opt);

modules: {

Message.error(res.message);

console.log(data); // 成功拿到数据

};

export default {

}

import movieService from '../services/movieService.js'

mounted() { //远程获取数据

}

// 调用

},

return new Promise((resolve, reject) => {

state: {

</el-select>

import getNamefrom "./modules/getName";

.then(data => {

reject(err.data.desc);

success: res => {

mutations: {

total: datas.length,

})

vue之封装多个组件调用同一接口的案例 (https://www.wpmee.com/) javascript教程 第1张

这篇文章主要介绍了vue之封装多个组件调用同一接口的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

$http(opt);

context.commit("setState", resp)

<script>

async getMovie(id) {

changeNameList(state, payload) {

export default {

}

fail: err => {

.then(resp => resp.json())

tipInfo(err.data.desc, '提示', false, 'warning');

actions: {

method: 'get',

this.tipInfo(err.data.desc, '提示', false, 'warning');

geName(context) {

export default {

datas: [],

};

let all = [];

.catch(err => {

context.commit("changeNameList", res.data);

export default new Vuex.Store({

fail: err => {

export default {

import { getNameList } from "@/apis/apis";  // 导入接口

},

for (const prop in newState) {

mutations: { //改变状态的通用方法  设置整个状态

getAll()

})

},

computed: {

success: res => {

movieService.getMovies(context.state.current, context.state.pageSize).then(resp => {

getName

}

}

return this.$store.state.getName.nameList

isLoading: false

},

console.log(getAll()); // []  

直接return 接口调用的结果

$http(opt);

比如打开页面首页的时候,在mounted里面就 dispatch 触发geName函数

第一种: 调接口不传参数

1、在 store文件夹下的 modules文件夹下新建 getName.js

resolve(res.data.value || []);

// 调用

}  

</div>

});  

});

},

}  

}

getAllPark(data => {

setState(state, newState) {

let opt = {

<el-select v-model="form.name" placeholder="请选择名称" clearable>

url: 'all/teacher',

};

return datas.find(item => item._id === id)

});  

以上这篇vue之封装多个组件调用同一接口的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

datas: datas.slice((page - 1) * pageSize, page * pageSize) //返回分页的电影数据

context.commit("setState", { isLoading: false })

if (res.code == 0) {

第二种: 调接口传参数

},  

fail: err => {

}

},

nameList: [] // 名称列表

fetch(context) { // 根据当前的分页设置,获取电影

2、在 store文件夹下 index.js 中引入 getName.js

url: 'all/teacher',

state: {

callback(res.data.value || []);

// 在 movieService.js

namespaced: true,

使用promise进行封装后,方法,不够简洁,达不到优化的目的

<el-option v-for="item in nameList" :key="item.id" :label="item.fieldName" :value="item.fieldName"></el-option>

}

 export function getAll() {

.then(resp => resp.json())

method: 'get',

<div>

背景:项目中有多个组件调用同一接口,为提高代码可维护性,需要封装公共方法

async getMovies(page, pageSize) {

3、在整个项目刚开始加载的时候就是用 dispatch 分发,这样就不管在哪个页面需要使用到都可以使用

console.log(resp)

//通过id获取电影数据

},

const datas = await fetch("https://api.myjson.com/bins/15f8x1")

}  

success: res => {

this.$store.dispatch("movie/fetch") //出发vuex中movie.js里的action,获取数据

补充知识:vue多个页面用到同一个接口的数据( 比如名称列表 ),使用 vuex

const datas = await fetch("https://api.myjson.com/bins/15f8x1")

export function getAll() {

相关热词: 调用

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jz/wp/5187.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

vue之封装多个组件调用同一接口的案例

2020-12-18 编辑:

console.log(data); //

};  

4、如在多个页面都需要使用 nameList , 以在某一个页面使用为例,其余页面一样用法

</script>  
// getName.js

});

}

this.$store.dispatch('geName')

}

}

} else {

total: 0,

},

在页面使用:

}

<template>

method: 'get',

nameList() {

let opt = {

current: 1,

</template>

all = res.data.value || [];

},

return all;

<script>

}

return {

state.nameList= payload;

export default {

}

}

let opt = {

export function getAll(callback) {

actions: {

state[prop] = newState[prop]

mounted() {

pageSize: 2,

tipInfo(err.data.desc, '提示', false, 'warning');

使用promise进行封装

$http是在axios基础 进行封装的,是一个异步的方法,所以在组件中调用getAll()方法,拿到的是一个空数组

getNameList ({}).then(res => {

}

context.commit("setState", { isLoading: true })

},

}

使用回调函数进行封装

url: 'all/teacher',

});  

}

},

$http(opt);

modules: {

Message.error(res.message);

console.log(data); // 成功拿到数据

};

export default {

}

import movieService from '../services/movieService.js'

mounted() { //远程获取数据

}

// 调用

},

return new Promise((resolve, reject) => {

state: {

</el-select>

import getNamefrom "./modules/getName";

.then(data => {

reject(err.data.desc);

success: res => {

mutations: {

total: datas.length,

})

vue之封装多个组件调用同一接口的案例 (https://www.wpmee.com/) javascript教程 第1张

这篇文章主要介绍了vue之封装多个组件调用同一接口的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

$http(opt);

context.commit("setState", resp)

<script>

async getMovie(id) {

changeNameList(state, payload) {

export default {

}

fail: err => {

.then(resp => resp.json())

tipInfo(err.data.desc, '提示', false, 'warning');

actions: {

method: 'get',

this.tipInfo(err.data.desc, '提示', false, 'warning');

geName(context) {

export default {

datas: [],

};

let all = [];

.catch(err => {

context.commit("changeNameList", res.data);

export default new Vuex.Store({

fail: err => {

export default {

import { getNameList } from "@/apis/apis";  // 导入接口

},

for (const prop in newState) {

mutations: { //改变状态的通用方法  设置整个状态

getAll()

})

},

computed: {

success: res => {

movieService.getMovies(context.state.current, context.state.pageSize).then(resp => {

getName

}

}

return this.$store.state.getName.nameList

isLoading: false

},

console.log(getAll()); // []  

直接return 接口调用的结果

$http(opt);

比如打开页面首页的时候,在mounted里面就 dispatch 触发geName函数

第一种: 调接口不传参数

1、在 store文件夹下的 modules文件夹下新建 getName.js

resolve(res.data.value || []);

// 调用

}  

</div>

});  

});

},

}  

}

getAllPark(data => {

setState(state, newState) {

let opt = {

<el-select v-model="form.name" placeholder="请选择名称" clearable>

url: 'all/teacher',

};

return datas.find(item => item._id === id)

});  

以上这篇vue之封装多个组件调用同一接口的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

datas: datas.slice((page - 1) * pageSize, page * pageSize) //返回分页的电影数据

context.commit("setState", { isLoading: false })

if (res.code == 0) {

第二种: 调接口传参数

},  

fail: err => {

}

},

nameList: [] // 名称列表

fetch(context) { // 根据当前的分页设置,获取电影

2、在 store文件夹下 index.js 中引入 getName.js

url: 'all/teacher',

state: {

callback(res.data.value || []);

// 在 movieService.js

namespaced: true,

使用promise进行封装后,方法,不够简洁,达不到优化的目的

<el-option v-for="item in nameList" :key="item.id" :label="item.fieldName" :value="item.fieldName"></el-option>

}

 export function getAll() {

.then(resp => resp.json())

method: 'get',

<div>

背景:项目中有多个组件调用同一接口,为提高代码可维护性,需要封装公共方法

async getMovies(page, pageSize) {

3、在整个项目刚开始加载的时候就是用 dispatch 分发,这样就不管在哪个页面需要使用到都可以使用

console.log(resp)

//通过id获取电影数据

},

const datas = await fetch("https://api.myjson.com/bins/15f8x1")

}  

success: res => {

this.$store.dispatch("movie/fetch") //出发vuex中movie.js里的action,获取数据

补充知识:vue多个页面用到同一个接口的数据( 比如名称列表 ),使用 vuex

const datas = await fetch("https://api.myjson.com/bins/15f8x1")

export function getAll() {

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jz/wp/5187.shtml

相关文章

风云图片

推荐阅读

返回WordPress频道首页